Businesses and other entities store data objects (e.g., image files, text files, databases, directories, etc.) on memory media such as hard disks. The present invention will be described with reference to files, it being understood that the term data object should not be limited thereto. Files, however, are subject to hardware failures, software errors, or human errors. Hardware failures can range from the failure of a single hard disk to the destruction of an entire data center, making some or all data objects unrecoverable. Software failures are bugs or procedural errors in, for example, an application that corrupts the contents of its data. User errors include errors such as inadvertent deletion or overwriting of files that are later required. These failures and errors has motivated the concept of creating backups of files on separate memory media (e.g. magnetic tapes).
Mirroring and replication technology can be configured to provide good protection against failures and errors. But these technologies will also write data corrupted by software or human errors every bit as reliably as they write correct data, and they faithfully record, for example, the file system or database metadata updates that result from a user's mistaken deletion of an important file on all mirrors or replicas. Because they are optimized to serve different purposes, mirroring and replication technologies have different goals than backup. Mirroring and replication attempt to preserve the bit-for-bit state of files as they change, while backup attempts to preserve the state of the files as of some past point-in-time at which the files were known to be consistent. Mirrors or replicas keep the contents of all replicated devices or files identical to each other. Backup however, does something quite different: it captures an image of files at an instant in the past, so that if need be, everything that has happened to the files since that instant can be forgotten, and the state of operations can be restored to that instant.